Reenix: Implementing a Unix-Like Operating System in Rust
نویسندگان
چکیده
This paper describes the experience, problems and successes found in implementing a unix-like operating system kernel in rust. Using the basic design and much of the lowest-level support code from the Weenix operating system written for CS167/9 I was able to create a basic kernel supporting multiple kernel processes scheduled cooperatively, drivers for the basic devices and the beginnings of a virtual file system. I made note of where the rust programming language, and its safety and type systems, helped and hindered my work and made some, tentative, performance comparisons between the rust and C implementations of this kernel. I also include a short introduction to the rust programming language and the weenix project.
منابع مشابه
Implementing an advanced access control model on Linux
Traditional UNIX-like operating systems use a very simple mechanism for determining which processes get access to which files, which is mainly based on the file mode permission bits. Beyond that, modern UNIX-like operating systems also implement access control models based on Access Control Lists (ACLs), the most common being POSIX ACLs. The ACL model implemented by the various versions of Wind...
متن کاملImplementing a Low Cost, Low Latency Parallel Platform
The practical application of parallel processing techniques is in most cases hampered by the cost of high-performance parallel platforms. The use of a Network of Workstations (NOW) connected by a fast Local Area Network (LAN) is very appealing for implementing a low-cost parallel platform. The use of higher-end PCs connected by fast LAN and running Unix-like operating systems is even more appea...
متن کاملComparative evaluation of the recent Linux and Solaris kernel architectures
The paper compares core kernel architecture and functionality of two modern open source systems. The subsystems examined are scheduling, memory management, and file system architecture. These subsystems are common to any operating system (not just Unix and Unix-like systems), and they tend to be the most wellunderstood components of the operating system. One of the more interesting aspects conc...
متن کاملESPRIT LTR 21917 (Pegasus II) Deliverable 4.5.2: Unix functionality
Traditional operating systems present fixed, high-level abstractions to application developers and users. These are part of standard APIs, such as POSIX or X/OPEN, which are typically implemented as a thin library layer on top of monolithic kernels. Recent efforts in operating system research, however, have focussed on providing more flexibility and new functionality to applications by lowering...
متن کاملA machine-independent port of the SR language run-time system to the NetBSD operating system
SR (synchronizing resources)[1] is a PASCAL – style language enhanced with constructs for concurrent programming developed at the University of Arizona in the late 1980s[2]. MPD (presented in Gregory Andrews’ book about Foundations of Multithreaded, Parallel, and Distributed Programming[3]) is its successor, providing the same language primitives with a different syntax. The run-time system (in...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015